/**
 * @Description:  定时发送邮件
 * @Version: 1.0
 * @Author: 琴时
 * @Date: 2021-11-08 00:20:45
 * @LastEditors: 琴时
 * @LastEditTime: 2021-11-30 00:12:44
 * @FilePath: \pt-utils\src\utils_html\定时发送邮件.js
 */
import nodemailer from 'nodemailer' // 发送邮件函数
import schedule from 'node-schedule' //引入定时任务

/* 发邮件方法 */
export const sendNodeMail = () => {
  //text是邮件内容
  const senderEmail = '710429093@qq.com' //发送方邮箱
  const pass = '******' //IMAP授权码
  const acceptorEmail = '760402117@qq.com' //接收方邮箱
  const transporter = nodemailer.createTransport({
    // host: 'smtp.qq.com',
    service: 'qq', // 使用了内置传输发送邮件
    port: 456, // SMTP 端口
    secureConnection: true, // 使用了 SSL
    auth: {
      user: senderEmail,
      pass: pass,
    },
  })
  /* 设置邮件参数 */
  const mailOptions = {
    from: `琴时<${senderEmail}>`, // 发件人邮箱
    to: `佩奇<${acceptorEmail}>`, //收件人列表，多个逗号隔开
    subject: '每日一句祝福语', // 标题
    text: '<b>今天又是美好的一天!</b>', // html 内容
  }
  transporter.sendMail(mailOptions, (error, info = {}) => {
    if (error) {
      return console.log('测试:', error)
    }
    console.log('邮件发送成功，静等下一次发送:', info)
  })
}

/**
 * 创建定时器任务:第一个参数事件字符串'* * * * * *'
 * 分别代表，秒、 分、 时、 天、 月、年 *代表每一次
 */
schedule.scheduleJob('0 14 * * * *', () => {
  // 时间到了，执行发送邮件的任务
  sendNodeMail()
  console.log('定时任务的邮件发送成功')
})
